在Power BI中删除重复数据 |
您所在的位置:网站首页 › pq编辑器 重复项 › 在Power BI中删除重复数据 |
常见的数据处理有一种需求是以某几个特定列内容为基准删除掉列中的重复数据。例如下面一个张销售表单中,如果以Date列和Product列为基准,能发现4月1日Product A产品有重复记录。 如果想保留Sale = 400这一行数据而删除Sale = 100这条数据是否可以利用通过对原始数据重新排序来实现呢?可以试验一下,将数据按照Date列做升序排序,再选择sale列做降序排序去获得一张新表,使得4月1日这天Product A产品Sale = 400这条数据排在Sale = 100之前。 然后选择Date和Product列去删除duplicated数据。运行结束后发现结果与不排序相同,M语言仍然删除了Sale = 400这条数据。 要解决该问题,需要调用Table.Buffer函数将Sort的结果强行缓存到table当中,以便作为Remove Duplicated操作的数据源。 M Code如下: let Source = Excel.Workbook(File.Contents("C:\Users\jessica\Desktop\Book1.xlsx"), null, true), Duplicate_Sheet = Source{[Item="Duplicate",Kind="Sheet"]}[Data], #"Promoted Headers" = Table.PromoteHeaders(Duplicate_Sheet, [PromoteAllScalars=true]), #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Date", type date}, {"Sale", Int64.Type}, {"Product", type text}}), #"Sorted Rows" = Table.Sort(#"Changed Type",{{"Date", Order.Ascending}, {"Sale", Order.Descending}}), #"Buffer Tabe" = Table.Buffer(#"Sorted Rows"), #"Removed Duplicates" = Table.Distinct(#"Buffer Tabe",{"Date", "Product"}) in #"Removed Duplicates" |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |